💡 우선… 원활한 계산을 위해 [분 : 초]의 형식에서 “:”을 제거해주고 정수화시켜줘야 될 것 같다.
dataset.time
🤔 태그 내에 [data-OOO]이 저장되어 있다면, dataset.OOO 을 통해 그 값을 불러올 수 있다.
1 2 3 4 5 6 7 8 9 10
const seconds = timeNodes // 노드들은 이제 data-time에 적힌 값이 됐음 .map((node) => node.dataset.time) // 이것을 timeCode라고 하고, :을 기준으로 나눠서 왼쪽은 mins, 오른쪽은 secs로 할당 .map((timeCode) => { // 정수화!! const [mins, secs] = timeCode.split(':').map(parseFloat); // mins는 분 형식이니까 초 값으로 만들려면 곱하기 60! return mins * 60 + secs; });
reduce를 사용하여 총합 구하기
1 2 3
.reduce((acc, current) => acc + current);
console.log(seconds);
계산 → “시 : 분 : 초”로 나타내기
💡 시 → 분 → 초 순서대로 계산을 해보자 한 시간은 3600초…
1 2 3 4 5 6 7 8 9 10 11
// secondsLeft를 활용해서 계속 남은 초를 계산 let secondsLeft = seconds; const hours = Math.floor(seconds / 3600); // 3600초로 나눈 나머지 = 남은 초 secondsLeft = secondsLeft % 3600;
const minutes = Math.floor(secondsLeft / 60); // 60초로 나눈 나머지 = 남은 초 secondsLeft = secondsLeft % 60;